The Internet is a worldwide computer network via which computer systems communicate using the well-defined Internet Protocol (IP). Computers that are connected directly to the Internet each have a unique Internet address. Typically, each computer is assigned a unique IP address so that no two machines have the same IP address. To simplify Internet addressing, the Domain Name System (DNS) allows users to access Internet resources with a simpler alphanumeric naming system. An Internet Domain name includes a series of alphanumeric names separated by periods. To further define the addresses of resources on the Internet, the Universal Resource Locator system was created. A Universal Resource Locator (URL) is a descriptor that specifically defines a type of Internet resource and its location. Resources on the Internet are uniquely addressable by their URL.
Typically, a user navigates the Internet using a browser residing on the user's computer. The browser is an operating system component or application program that allows the user to retrieve documents from the World Wide Web (or simply “the Web”) using simple point-and-click commands. Typical browsers allow for multimedia presentation of stored data including text images, sound clips, and video clips. This allows the user to connect to different Web sites on the Internet.
The Web is a collection of files or “Web pages” that include text, graphics, and other forms of content. Typically, a Web page is connected by hyper-links to other Web pages. Using a mouse to click on a hyper-link initiates a process that locates and retrieves the linked Web page, regardless of the physical location of that page.
The Web uses the client-server model to communicate information between client computers and server computers. The terms “client” and “server” are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server). In the Web environment, browsers reside in clients and Web pages reside in servers. Clients and servers communicate with one another using the Hypertext Transfer Protocol (HTTP). A browser opens a connection to a server and initiates a request for a Web page. The server delivers the requested Web page, typically in the form of a text document coded in a standard Hypertext Markup Language (HTML) format.
To access an initial Web page, the user enters the URL for a Web document into the browser, or selects the URL from a list of “favorites” (which is typically stored on the client's hard drive). The browser then sends an HTTP request to the server that has the Web document corresponding to the URL, and the Web server responds to the HTTP request by sending the requested HTTP object to the client.
One application, known as a “customizable home page,” permits users, upon the request of a server, to make certain choices. When a user who has done so contacts that server at a later date, the server assembles information for downloading to the user in accordance with the previously selected choices. The server delivers a Web page with a response header that creates an ID field located in a file on the client computer (this file is known as the “client ID” or “cookie” file) to include information about the user's preferences. When the user later returns to a specified URL, on the same server, the cookie with the previously-set preference information is transmitted in the HTTP request header to the server, which can then return a Web page that is assembled according to the user-specific information.
Network based communication services that track a plurality of online co-user accounts and provide communication pathways to interconnect two or more such online co-user accounts are also well known. Examples of such network based communication services include electronic mail (“email”) and online messaging services such as instant message services. Such communication services can maintain lists of user accounts, and even track current status information about the user accounts, such as whether the accounts are active (i.e., the user is currently online).
Online messaging services, for example, typically provide and maintain user definable online co-user lists, which are more commonly referred to as “contacts” lists. A number of companies operate host systems that include online message services that alert users when other pre-specified co-users (i.e., other users of the online message service that have been previously specified by the user as a contact) are online (i.e., concurrently accessing the online messaging service). Such online co-users can typically use the online messaging service to send “instant messages” to one another via a communication path that the online messaging service provides.
There are certain situations in which a user of a client computer would benefit from being able to navigate the Web together with one or more online co-users, or “contacts.” Each of the co-users would benefit from being able to share the other's browsing experience, such that, when either user navigates to a Web site, the other would follow along automatically. Hence, there is a need in the art for systems and methods for enabling a plurality of online co-users to establish and share a common browsing experience.